#!/bin/bash

# =============== 挤出机控制台 安装脚本 ===============
# 功能：创建桌面快捷方式，自动信任，无需手动点击“执行”

# 颜色定义（美化输出）
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color

echo -e "${GREEN}挤出机控制台 - 桌面快捷方式安装脚本${NC}"

# =============== 1. 定义路径 ===============
REPO_DIR="/home/xl/pi_extruder_v3"
DESKTOP_FILE="$HOME/.local/share/applications/extruder-control.desktop"
DESKTOP_SHORTCUT="$HOME/Desktop/extruder-control.desktop"
RUN_SCRIPT="$REPO_DIR/run.sh"
ICON_FILE="$REPO_DIR/favicon.png"

# =============== 2. 检查主程序目录是否存在 ===============
if [ ! -d "$REPO_DIR" ]; then
    echo -e "${RED}错误：项目目录不存在！$REPO_DIR${NC}"
    echo -e "${RED}请确保项目位于正确路径。${NC}"
    exit 1
fi

# =============== 3. 检查 run.sh 脚本是否存在并添加执行权限 ===============
if [ ! -f "$RUN_SCRIPT" ]; then
    echo -e "${RED}错误：未找到 run.sh 脚本！$RUN_SCRIPT${NC}"
    exit 1
fi

chmod +x "$RUN_SCRIPT"
echo -e "${YELLOW}已设置执行权限：$RUN_SCRIPT${NC}"

# =============== 4. 检查图标文件（可选） ===============
if [ ! -f "$ICON_FILE" ]; then
    echo -e "${YELLOW}警告：图标文件未找到，将使用默认图标。$ICON_FILE${NC}"
    ICON_LINE=""
else
    ICON_LINE="Icon=$ICON_FILE"
fi

# =============== 5. 创建 .desktop 文件（应用菜单） ===============
cat > "$DESKTOP_FILE" << EOF
[Desktop Entry]
Name=挤出机控制台
Comment=控制步进电机运动
Exec=$RUN_SCRIPT
Terminal=false
Type=Application
Categories=Utility;Science;Education;
StartupNotify=false
Keywords=motor;stepper;control;gui
$ICON_LINE
EOF

chmod +x "$DESKTOP_FILE"
echo -e "${YELLOW}已创建应用菜单快捷方式：$DESKTOP_FILE${NC}"

# =============== 6. 拷贝到桌面 ===============
cp "$DESKTOP_FILE" "$DESKTOP_SHORTCUT"
echo -e "${YELLOW}已创建桌面快捷方式：$DESKTOP_SHORTCUT${NC}"

# =============== 7. 标记为可信（关键：避免双击弹出选择框） ===============
gio set "$DESKTOP_SHORTCUT" "metadata::trusted" true
echo -e "${GREEN}已标记桌面快捷方式为可信，双击将直接运行！${NC}"

# =============== 8. 更新桌面数据库（可选） ===============
update-desktop-database ~/.local/share/applications 2>/dev/null || true

# =============== 9. 提示完成 ===============
echo -e "\n${GREEN}✅ 安装完成！${NC}"
echo "你现在可以："
echo "  • 在应用菜单中查找 '挤出机控制台'"
echo "  • 双击桌面上的图标直接运行程序"
echo ""
echo "如需卸载，请删除以下文件："
echo "  $DESKTOP_FILE"
echo "  $DESKTOP_SHORTCUT"